package Day_0218.JavaBase;

/**
 * @author zxc
 * @date 2023/02/18 11:58
 **/
public class Interface_AbstractClass {
    /**
     * 接口和抽象类之间的区别
     * ===》
     * 1.默认方法 ：
     * （1）抽象类可以有默认方法的实现;
     * （2）Java8之前，接口中不存在方法的实现;
     *
     * 2.实现方式
     * （1）抽象类 ：
     *  子类使用extends关键字来继承抽象类.如果子类不是抽象类,子类需要提供抽象类中所声明方法的实现
     * （2）接口 ：
     *  子类使用implements来实现接口,需要提供接口中所有声明的实现
     *
     * 3.构造器
     * （1）抽象类 ：
     *  抽象类中可以有构造器
     * （2）接口 ：
     *  接口中不能有构造器
     *
     * 4.访问修饰符
     * （1）抽象类 ：
     *  抽象方法可以有public,protected和default等修饰
     * （2）接口 ：
     *  接口默认是public,不能使用其他修饰符
     *
     * 5.多继承
     * （1）一个子类只能存在一个父类
     * （2）一个子类可以存在多个接口
     *
     * 6.访问新方法
     * （1）抽象类 ：
     *  抽象类中，添加新方法,可以提供默认的实现,因此可以不修改子类现有的代码
     * （2）接口 ：
     *  如果往接口中添加新方法,则子类中需要实现该方法
     *
     */
}
